Location based brand detection

ABSTRACT

Techniques for determining brand information and refining a position of a mobile device are described herein. An example of a method for displaying branding information on a mobile device includes receiving a reference image feature data table based on a rough location of the mobile device, such that the reference image feature data table includes a collection of entity records and wherein each entity record includes a plurality of logo image feature fields, obtaining an image including a displayed logo, utilizing an image recognition process and the reference image feature data table on the image to determine a recognized logo, and displaying brand information based on the recognized logo.

CROSS-REFERENCE TO RELATED APPLICATIONS

This divisional application claims the benefit of and priority to U.S.application Ser. No. 14/041,436, entitled “Location Based BrandDetection,” field on Sep. 30, 2013, which is assigned to the assigneehereof and the content of which is incorporated herein by reference inits entirety.

BACKGROUND

Mobile communication devices are one of the most prevalent consumerowned technologies in the digital information arena. Satellite andcellular telephone services and other similar wireless communicationnetworks are widely available. The capabilities of the mobilecommunication devices, and the corresponding services, have alsoexpanded to include applications such as image capture, connectivity tothe internet, and providing location-based services. One service in thisrespect is to provide navigation information to a user through a mobilecommunication device operating in either a stand-alone mode or withassistance from other network-based devices.

Navigation information can be provided through a satellite positioningsystems (SPS) such as, for example, the global positioning system (GPS),GLONASS, Galileo and other like Global Navigation Satellite Systems(GNSS). SPS enabled devices, for example, may receive wireless signalsthat are transmitted by satellites of a GNSS and/or by terrestrial basedtransmitting devices. A mobile device can be configured to utilizewireless base stations such as Network Access Points and Femto cells todetermine the current location of the mobile device. For example, WiFiaccess points can be used to determine a rough location of a mobiledevice. The location information can be used to provide additionalcontext to the mobile device. The location information can includecreating business to consumer opportunities such as targeted marketing,general announcements, product identification, and other contextspecific information transfer.

SUMMARY

An example of a method for using a camera on a mobile device to displaybrand information according to the disclosure includes receiving arequest for brand-related information, obtaining an annotated mapcomprising physical characteristics and wireless signal parameterinformation, measuring wireless signal parameters, determining a roughlocation based at least in part on the measured wireless signalparameters and the annotated map, receiving a reference image featuredata table based on the rough location of the mobile device, such thatthe reference image feature data table includes a collection of entityrecords and wherein each entity record includes a one or more logo imagefeature fields, obtaining an image including a displayed logo, utilizingan image recognition process and the reference image feature data tableon the image to determine a recognized logo, and displaying brandinformation based on the recognized logo.

Implementations of the method may include one or more of the followingfeatures. Obtaining an image including more than one logo, utilizing theimage recognition process and the reference image feature data table onthe image to determine more than one recognized logos, and displayingrespective brand information for each of the recognized logos.Displaying brand information may include executing an augmented realityapplication that is associated with the brand information. Receiving aproduct image feature data table based on the recognized logo, such thatthe product image feature data table includes one or more referenceimage fields of products that are associated with the recognized logo.Obtaining an image of a product and utilizing the image recognitionprocess and the product image feature data table on the image of theproduct to determine information about the product.

An example of mobile device for providing location-based brand detectionaccording to the disclosure includes an image capture module, a memoryconfigured to store a reference image feature data table, wherein thereference image feature data table comprises at least one entity recordincluding one or more logo image feature fields, a processor programmedto measure wireless signal parameters, determine a rough location of themobile device based on the wireless signal parameters, receive thereference image feature data table, wherein the at least one entityrecord is associated with the rough location, perform an imagerecognition process on an image obtained by the image capture modulebased on the reference image feature data table, and display brandinformation based on a result of the image recognition process.

An example of a method of providing reference image feature data to amobile device according to the disclosure includes obtaining a roughlocation area of the mobile device, selecting a relevant points ofinterest list based on the rough location area of the mobile device,refining the rough location area of the mobile device if the relevantpoints of interest list is greater than a threshold, building areference image feature data table if the relevant points of interestlist is less than or equal to the threshold, and providing the referenceimage feature data table to the mobile device.

Implementations of the method may include one or more of the followingfeatures. The reference image feature data table may include at leastone entity and one or more logo image feature fields that are associatedwith the entity. The reference image feature data table may includeposition information associated with each logo image feature. Refiningthe rough location area may include receiving a wireless signalinformation from the mobile device. The wireless signal information mayinclude Round Trip Time (RTT) data.

An example of an apparatus for displaying brand information according tothe disclosure includes a memory, at least one processor coupled to thememory and configured to receive a request for brand-relatedinformation, obtain an annotated map including physical characteristicsand wireless signal parameter information, measure wireless signalparameters, determine a rough location of a mobile device based at leastin part on the measured wireless signal parameters and the annotatedmap, receive a reference image feature data table based on the roughlocation of the mobile device, wherein the reference image feature datatable includes a collection of entity records and wherein each entityrecord includes a plurality of logo image feature fields, obtain animage including a displayed logo, utilize an image recognition processand the reference image feature data table on the image to determine arecognized logo, and display brand information based on the recognizedlogo.

An example of an apparatus for displaying brand information according tothe disclosure includes a memory, at least one processor coupled to thememory and configured to receive a request for brand-relatedinformation, obtain an annotated map comprising physical characteristicsand wireless signal parameter information, measure wireless signalparameters, determine a rough location of a mobile device based at leastin part on the measured wireless signal parameters and the annotatedmap, receive a reference image feature data table based on the roughlocation of the mobile device, wherein the reference image feature datatable includes a collection of entity records and wherein each entityrecord includes one or more logo image feature fields, obtain an imageincluding a displayed logo, utilize an image recognition process and thereference image feature data table on the image to determine arecognized logo, and display brand information based on the recognizedlogo.

An example of an apparatus according to the disclosure includes amemory, at least one processor coupled to the memory and configured to,obtain a rough location area of a mobile device, select a relevantpoints of interest list based on the rough location area of the mobiledevice, refine the rough location area of the mobile device if therelevant points of interest list is greater than a threshold, build areference image feature data table if the relevant points of interestlist is less than or equal to the threshold, and provide the referenceimage feature data table to the mobile device.

An example of a computer program product residing on aprocessor-executable computer storage medium according to the disclosureincludes processor-executable instructions configured to cause aprocessor to receive a request for brand-related information, obtain anannotated map comprising physical characteristics and wireless signalparameter information, measure wireless signal parameters, determine arough location of a mobile device based at least in part on the measuredwireless signal parameters and the annotated map, receive a referenceimage feature data table based on the rough location of the mobiledevice, wherein the reference image feature data table includes acollection of entity records and wherein each entity record includes oneor more logo image feature fields, obtain an image including a displayedlogo, utilize an image recognition process and the reference imagefeature data table on the image to determine a recognized logo, anddisplay brand information based on the recognized logo.

An example of a computer program product residing on aprocessor-executable computer storage medium according to the disclosureincludes processor-executable instructions configured to cause aprocessor to obtain a rough location area of a mobile device, select arelevant points of interest list based on the rough location area of themobile device, refine the rough location area of the mobile device ifthe relevant points of interest list is greater than a threshold, builda reference image feature data table if the relevant points of interestlist is less than or equal to the threshold, and provide the referenceimage feature data table to the mobile device.

Items and/or techniques described herein may provide one or more of thefollowing capabilities, as well as other capabilities not mentioned. Acollection of venues can be created. A list of Points of Interest (POI)can be created based on the venues. A rough location of a mobile devicecan be determined. The list of POIs can be filtered based on thelocation of the mobile device. A POI can be associated with imagefeatures which are used in image recognition algorithms. An image of alocation can be obtained. The image can include a logo or other brandidentity associated with an entity. A POI can be associated with anentity. An entity can be associated with multiple logos or other objectfeatures. Products can be associated with entities. Feature recognitioncan be performed on an image of a location to determine an entity.Location based services, such as augmented reality information, can beprovided to a mobile device based on a recognized logo or other objectfeatures. Images of products can be captured. Image features associatedwith an entity can be used to recognize the products in the images. Theposition of a mobile device can be determined based on a recognized logoor other object feature. Other capabilities may be provided and notevery implementation according to the disclosure must provide any, letalone all, of the capabilities discussed. The results of the imagerecognition algorithms can be utilized in a wide range of location basedservices and marketing applications. Further, it may be possible for aneffect noted above to be achieved by means other than that noted, and anoted item/technique may not necessarily yield the noted effect.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an exemplary mobiledevice capable of obtaining images, communicating with a network andreceiving satellite positioning system (SPS) signals.

FIG. 2 is a system diagram illustrating certain features of a systemcontaining a mobile device capable of capturing images and communicatingover one or more wireless networks.

FIG. 3 is a schematic block diagram of a computing device.

FIG. 4 is an exemplary use case for building a reference image datatable based on a rough position within a venue.

FIG. 5 is an exemplary data table of reference image features associatedwith an entity.

FIG. 6A is a block flow diagram of a process for building a referenceimage feature data table.

FIG. 6B is a block flow diagram of a process for recognizing astorefront.

FIG. 7 is a block flow diagram of a process for refining a referenceimage feature data table.

FIG. 8 is a relationship diagram of an exemplary data structure.

FIG. 9 is a block flow diagram of a process for displaying brandinformation.

FIG. 10 is a block flow diagram of a process for providing a referenceimage feature data table to a mobile device.

DETAILED DESCRIPTION

An example of a context aware mobile device includes an image capturemodule, a memory configured to store a received reference image datatable based on a rough location of the mobile device, a processorprogrammed to perform an object recognition process on an image obtainedby the image capture module based on the received target image database.In an example, the mobile device can refine a current position based onthe results of the object recognition process. For example, the mobiledevice can include the ability to detect visual cues using roughposition and improving position calculations using visual cues.

In a shopping center, for example, one of the best visual cues is brandspecific visual signature, such as logos, brand related objects, orconsistent storefront appearance for a brand. In another example,location based services, and/or position estimates can be improved invenues with room numbers and gate numbers like (airports, hospital andenterprises) through recognition of visual cues such as the room numberor terminal number.

In some commercial complexes such as shopping malls and businessdistricts of urban areas, POIs can be associated with retail stores. Ingeneral, a consistent brand image is often presented at a retailstorefront. This consistency may allow for a small set oflogos/storefront images to be stored in a memory device, with the effectof improving the brand/logo recognition in a large number of shoppingmalls and business districts without having to visit each individualvenue to obtain a photo of each logo. In operation, the stored brandimages (e.g., logos) can be used for storefront identification, and thenmapped to the floor plan of a venue or their detection is used totrigger other application events. For example, a user can capture animage of a logo with the camera of a mobile device, a processor eitheron the mobile device or on a remote server can be configured to performan object recognition process on the logo, and then the mobile devicecan display an estimated position on a floor map or trigger anotherapplication. The other applications can include augmented reality data,or other interactive information such as a web link or access to adatabase with additional store or product information. In general,object recognition algorithms can be processor intensive as they may berequired to search through large databases of object images. The speedand efficiency of the object recognition can be improved if the numberof possible target objects is reduced. In an embodiment, location basedfiltering can be used to reduce the size of the object database. Thelocation of the mobile device can be determined by position determiningsystems such as GPS, or other terrestrial systems. For example, thelocation of the mobile device may be based on a WiFi network detected bythe mobile device. Some example techniques are presented herein whichmay be implemented in various method and apparatuses in a mobile deviceto possibly provide for or otherwise support determining a positionbased on visual information in an image. These examples, however, arenot exhaustive.

For example, in certain implementations, as illustrated in FIG. 1, amobile device 100 may contain a wireless transceiver 121 which iscapable of sending and receiving wireless signals 123 via a wirelessantenna 122 over a wireless network and connected to a bus 101 by awireless transceiver bus interface 120. The wireless transceiver businterface 120 may, in some embodiments be a part of the wirelesstransceiver 121. Some embodiments may have multiple wirelesstransceivers 121 and wireless antennas 122 to support multiple standardssuch as but not limited to, wireless LAN standards such as 802.11/WiFi),personal area networks such as Zigbee™ and Bluetooth™, and Wide areanetwork standards such as CDMA, WCDMA, LTE and Bluetooth. The wirelesstransceiver 121 can be a means for receiving reference image featuredata.

Also illustrated in FIG. 1, certain embodiments of mobile device 100 maycontain an image capture module 130 integrated with the mobile device100. The image capture module 130 can be configured to receive a signalfrom a sensor 132 such as a camera chip and accompanying optical path.In general, the image capture module 130 and sensor 132 allow a user toobtain an image, or otherwise transform a visual input to a digitalform. The images can be viewed via a graphic display 134. The graphicdisplay 134 can be configured to be a user interface (e.g., touchscreen), and allow the user to view various still, animated and/or videoimages such as but not limited to textual output, camera output, maps,augmented reality overlays, and user video. The graphic display 134 canbe used for displaying brand information to a user. The image capturemodule 130 can be a means for obtaining an image including a displayedlogo on a storefront. Images that are obtained by the image capturemodule 130 can be stored in the memory 140.

Also illustrated in FIG. 1, certain embodiments of mobile device 100 maycontain a Satellite Positioning System (SPS) receiver 155 capable ofreceiving Satellite Positioning System (SPS) signals 159 via SPS antenna158. SPS receiver 155 may also process, in whole or in part, theSatellite Positioning System (SPS) signals 159 and use the SPS signals159 to determine the location of the mobile device. SPS signals may befrom GNSS such as, but not limited to, GPS, Galileo, Beidou and Glonassor a mix thereof. In some embodiments, general-purpose processor(s) 111,memory 140, DSP(s) 112 and specialized processors (not shown) may alsobe utilized to process the SPS signals 159, in whole or in part, and/orcalculate the location of the mobile device 100, in conjunction with SPSreceiver 155. The storage of SPS or other location signals may be donein memory 140 or registers.

Also shown in FIG. 1, mobile device 100 may contain DSP(s) 112 connectedto the bus 101 by a bus interface 110, general-purpose processor(s) 111connected to the bus 101 by a bus interface 110 and memory 140, alsosometimes connected to the bus by a bus interface 110. The businterfaces 110 may be integrated with the DSP(s) 112, general-purposeprocessor(s) 111 and memory 140 with which they are associated. Invarious embodiments, functions may be stored as one or more instructionsor code in memory 140 such as on a computer-readable storage medium,such as RAM, ROM, FLASH, or disc drive, and executed by general-purposeprocessor(s) 111, specialized processors, or DSP(s) 112. Memory 140 is aprocessor-readable memory and/or a computer-readable memory that storessoftware code (programming code, instructions, etc.) configured to causethe processor(s) 111 and/or DSP(s) 112 to perform functions described.In particular, the memory 140 can include a Feature Extractor Module 142and a Feature data table 143. The Feature Extractor module 142 can becomputer-readable instructions configured to enable the processor 111,or other DSP(s) 112, to perform image recognition on images captured viathe image capture module 130. In general, the computer-readableinstructions in the Feature Extractor module 142 enable the processor111, or other processors, to function as an image recognition engine.For example, features may be extracted using suitable techniques, suchas Scale-Invariant Feature Transform (SIFT), Speeded-UP Robust Feature(SURF), Nearest Feature Trajectory (NFT), etc. . . . . These techniquesare exemplary only and not limiting as other techniques such asproprietary corner detection-type approaches may be used. The featureextractor module 142 can be a means utilizing an image recognitionprocess to recognize a logo. The Feature data table 143 can be a portionof the memory 140 that is configured to store a reference image datatable to be used by the Feature Extractor Module 142 during the imagerecognition process. The Feature data table 143 can be a plurality oflogo and/or product image feature fields that are associated with one ormore entities.

In general, the mobile device 100 is representative of any electronicdevice that may be reasonably moved about by a user. By way of examplebut not a limitation, mobile device 100 may comprise a computing and/orcommunication device such as a mobile telephone, a smart phone, a laptop computer, a tablet computer, a wearable computer, a personal digitalassistant, a navigation device, a watch, etc.

The mobile device 100 may, for example, be enabled (e.g., via one ormore network interfaces) for use with various wireless communicationnetworks such as a wireless wide area network (WWAN), a wireless localarea network (WLAN), a wireless personal area network (WPAN), and so on.The term “network” and “system” may be used interchangeably herein. AWWAN may be a Code Division Multiple Access (CDMA) network, a TimeDivision Multiple Access (TDMA) network, a Frequency Division MultipleAccess (FDMA) network, an Orthogonal Frequency Division Multiple Access(OFDMA) network, a Single-Carrier Frequency Division Multiple Access(SC-FDMA) network, and so on. A CDMA network may implement one or moreradio access technologies (RATs) such as cdma2000, Wideband-CDMA(W-CDMA), Time Division Synchronous Code Division Multiple Access(TD-SCDMA), to name just a few radio technologies. Here, cdma2000 mayinclude technologies implemented according to IS-95, IS-2000, and IS-856standards. A TDMA network may implement Global System for MobileCommunications (GSM), Digital Advanced Mobile Phone System (D-AMPS), orsome other RAT. GSM and W-CDMA are described in documents from aconsortium named “3rd Generation Partnership Project” (3GPP). Cdma2000is described in documents from a consortium named “3rd GenerationPartnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publiclyavailable. A WLAN may include an IEEE 802.11x network, and a WPAN mayinclude a Bluetooth network, an IEEE 802.15x, for example. Wirelesscommunication networks may include so-called next generationtechnologies (e.g., “4G”), such as, for example, Long Term Evolution(LTE), Advanced LTE, WiMax, Ultra Mobile Broadband (UMB), and/or thelike.

In other embodiments, functions may be performed in hardware.

In certain implementations, as shown in FIG. 2, the mobile device 100may include means for obtaining a rough location such as by receivingSPS signals 159 from SPS Satellites 250. The SPS Satellites may be fromone global navigation satellite system (GNSS), such as the GPS orGalileo satellite systems. The SPS Satellites may be from multiple GNSSsuch as, but not limited to, GPS, Galileo, Glonass, or Beidou (Compass)satellite systems.

In addition, the mobile device 100 may connect via a wireless signal 136to a cellular network (e.g., a cell tower can be a wireless transmittingdevice 220). The cellular network may provide access to a network 230.Network connectivity may also be available to the mobile device 100 overa wireless transmitter 210 (e.g., a Femto cell, WiFi network, otheraccess point/router) via wireless signals 123. The wireless transmitter210 may connect to the network 230. The network 230 can includeconnectivity to the Internet. The network 230 can include connectivityto a position server (not shown) configured to send, receive and storeposition information. The mobile device 100 can send wireless networkmeasurements and/or other wireless signal information (e.g., RSSI, RTT)to the position server. In some instances, the means for obtaining arough location of the mobile device can be received wireless signals.The wireless signals may be processed by or at a mobile communicationdevice, and its location may be estimated using known techniques, suchas, for example, trilateration, base station identification, or thelike. An image feature library server 242 can be included as part of theposition server, or may exist in another server and configured tocommunicate with the position server. In a server implementation, ameans for obtaining the rough location area of a mobile device includesreceiving wireless signal information from the mobile device (e.g.,SSID, RSSI, RTT, or a position calculated on the mobile device). Theimage feature library server 242 can include a collection of referencefeature images, which can be indexed based on venue, location, entities,and products. The image feature library server 242 can be many serversdisposed in different areas. The mobile device 100 is configured toobtain and display an image of an area 201 around the device 100. Ingeneral, the area 201 can include a storefront with a logo, or otherbranding, which is related to an entity. The image of the area 201 canbe analyzed with a local feature extractor 142 (i.e., local processing),or sent to the position server or the Image Feature Library server 242for image processing and feature identification (i.e., remoteprocessing).

Referring to FIG. 3, with further reference to FIG. 2, a schematic blockdiagram illustrating certain features of a computing device 300 isshown. The image feature library server 242 can include a computingdevice 300.

As illustrated computing device 300 may comprise one or more processingunits 302 to perform data processing coupled to memory 304 via one ormore connections 301. Processing unit(s) 302 may be implemented inhardware or a combination of hardware and software. Processing unit(s)302 may be representative of one or more circuits configurable toperform at least a portion of a data computing procedure or process. Byway of example but not limitation, a processing unit may include one ormore processors, controllers, microprocessors, microcontrollers,application specific integrated circuits, digital signal processors,programmable logic devices, field programmable gate arrays, and thelike, or any combination thereof.

Memory 304 may be representative of any data storage mechanism. Memory304 may include, for example, a primary memory 304-1 and/or a secondarymemory 304-2. Primary memory 304-1 and secondary memory 304-2 maycomprise, for example, a random access memory, read only memory, one ormore data storage devices or systems, such as, for example, a diskdrive, an optical disc drive, a tape drive, a solid state memory drive,etc. The memory 304 may, for example, comprise a data base and/or otherlike capability. The memory 304 can include elements disposed indifferent geographic locations. While illustrated in this example asbeing separate from the processing units, all or part of the memory 304may be provided within or otherwise co-located/coupled with processingunit(s) 302, or other like circuitry within computing device 300 and/oroperatively coupled thereto.

In certain implementations, the memory 304 may be operatively receptiveof, or otherwise configurable to couple to, computer readable medium320. As illustrated, memory 304 and/or computer readable medium 320 maycomprise instructions 306 associated with data processing (e.g., inaccordance with the techniques provided herein).

As further illustrated, at certain times, memory 304 may comprise datarepresenting image features information 308 and rough positioninformation 310. The image feature information 308 can be stored in arelational database structure and may be indexed based on featuresassociated with image features. For example, an image feature may beindexed based on a corresponding venue, location, entity, and/orproduct. The image feature information 308 may exist in one or moreimage feature library servers 242. The rough position information 310can be associated with a geographical area (e.g., a point, a polygon, aPOI, an entity, a shopping area, a public park). In general, electronicdata and information can be associated with objects and otherinformation via field values and indexes. In certain exampleimplementations, the rough position information 310 may correspond toLocation Context Indicator (LCI) in a map database. The rough positioninformation 310 may include position information that is associated witha storefront. That is, the area from which a storefront (e.g., logo) isvisible. The rough position information 310, the image featureinformation 308, the location services information 312, and otherinformation stored in memory 304 need not be stored in a single imagefeature library server 242, and can be distributed over other serversand accessible via a network interface 318.

In an embodiment, one or more requests 330 may be obtained (e.g., vianetwork interface 318) for image feature information 308, rough positioninformation 310, and/or possibly other location services information312. Requests 330 may be received over the network 230 from one or moremobile devices 100. Computing device 300 may, for example, respond torequest 330 by providing all or part of the requested information. Thenetwork interface 318 may be a means for providing reference featuredata to a mobile device.

Location services information 312 may comprise, for example, locationinformation as submitted or otherwise associated with a source 332 andpreviously stored, or estimated, location information (e.g.,subsequently determined, or reported) with respect to one or morewireless transmitting devices 210, 220. Location services information312 may comprise, for example, location information with respect to oneor more geographic areas or entities. Location services information 312can be a context annotation layer of a map database, a geo-referencedgraphic map file and other like navigation/position related information.Location services information 312 can be information relating tonavigation, e.g., information associated with one or more location basedservices and/or other like capabilities. For example, certain context orother like information associated with a specific geographic region,etc., may be stored in memory 304 (e.g., points of interest, routinginformation, multimedia files, or other general information associatedwith a geographic area). Location services information may includecommercial information associated with an entity, or other augmentedreality information. The location services information 312 may persistin the memory 304, or may be stored on a remote server that isconfigured to communicate with the image feature library server 242 viathe network 230.

As further illustrated, at times, memory 304 may comprise measurements314 associated with one or more signals received by one or more wirelesstransmitting devices 210, 220. By way of example, measurements 314 maycomprise signal strength information, timing information, ranging and/orpseudoranging information, etc. Measurements 314 may, for example, beobtained through one or more reports 334 received via network interface318 from one or more mobile devices 100 and/or other computing devices.In certain example implementations, at least a portion of measurements314 may be used to estimate a location of mobile device 100.Measurements 314 may also represent information that was carried usingone or more wireless signals 123, 136, such as an SSID or otherinformation broadcast by an access point. The measurements 314 mayinclude position information provided by mobile devices that isassociated with a logo (e.g., to determine an area from which the logowas viewed).

In general, the mobile device 100 is configured to determine its currentlocation, and can provide the location information to the image featurelibrary server 242. In some implementations, all or part of a processfor estimating a location of mobile device 100 may be performed by aremote position server.

While process 316 is illustrated in FIG. 3 as being at least partiallystored in memory 304, the process(es) may be operatively provided inwhole or part in one or more of processing unit(s) 302 and/or other likecircuitry. The processes 316 can be used to execute image recognitionalgorithms, such as Scale-Invariant Feature Transform (SIFT), Speeded-UPRobust Feature (SURF), Nearest Feature Trajectory (NFT), or otheralgorithms. The computing device 300 may, for example, comprise one ormore network interfaces 318 coupled to one or more of connections 301.The network interfaces 318 may be representative of one or more wirelessand/or wired network interfaces.

In certain example implementations, one or more reports 334 (e.g., fromone or more mobile stations) may identify the presence of a wirelesstransmitting device 210, 220 that may be newly installed. Locationservices information associated with such a wireless transmitting devicemay be relayed by a mobile device or possibly discovered though othernetwork connections/resources, and/or otherwise estimated, e.g., usingprevious location information stored in the mobile device 100 or on aposition server.

Referring to FIG. 4, an exemplary use case 400 for building a referenceimage data table based on a rough position within a venue is shown. Theuse case 400 is, however, an example only and not limiting. The use case400 can be altered, e.g., by having elements added, removed, rearranged,combined, performed concurrently, and/or having single elements splitinto multiple elements.

A context aware mobile device 100 can receive location serviceinformation 312 from an image feature library server 242 based on thecurrent location of the mobile device 100. The location serviceinformation 312 can be associated with a venue such as a shopping mall,downtown area, sports arena, park, or other geographic area. Forexample, the mobile device 100 receives a floor plan 402 for a shoppingmall. The floor plan 402 can be associated with the particular shoppingmall (i.e., the venue) and the corresponding business entities withinthe shopping mall (i.e., the entities). The entities may also beassociated with a location within the venue. For example, the locationof the mobile device may be within a rough location area 404 within thevenue. The rough location can be determined by using local access points(e.g., trilateration, cell sector center, angle of arrival,fingerprinting, cell/AP location, location gridding, and other locationtechniques), as well as by using SPS resources such as GPS or thecombination of the above with tracking information using sensors such asIMU (Inertial measurement unit), magnetometer, optical, etc. on thephone. The number of entities associated with a rough location can beless than the number of entities in the venue. In the use case 400depicted in FIG. 4, there is a first entity 406 a and a second entity406 b within the rough location area 404. The first entity 406 acorresponds to a first commercial brand (e.g., GAP®), and the secondentity 406 b corresponds to a second commercial brand (e.g., ALDO®).

In operation, the first and second entities 406 a, 406 b within therough location area 404 can be used to create a relevant reference imagedatabase. The image feature library server 242 can receive a request 330including a rough position of the mobile device 100. A list of entitiesassociated with the rough location area 404 can be determined and theimage feature information 308 associated with the list of entities canbe assembled into a data set. Image features in the data set are used inimage recognition algorithms to improve the efficiency (e.g., processingtime, processing overhead) of the image recognition processes. That is,the data set of entities can constrain the solution set and thus improvethe recognition results. For example, the image capture module 130 ofthe mobile device 100 can be directed at a first storefront 408 a anddetermine that the storefront is associated with the first entity 406 a(i.e., GAP). Similarly, an image of a second storefront 408 b can beassociated with the second entity 406 b (i.e., ALDO). The imagerecognition can be performed locally (e.g., on the mobile device 100),or remotely (e.g., on the image feature library server 242).

Referring to FIG. 5, an exemplary data table 500 of reference imagefeatures associated with an entity is shown. The data table 500 canpersist as a data structure in the image feature information 308, orwithin the mobile device memory 140, as part of a database application(e.g., SQL, Oracle) or other data scheme (e.g., XML, flat files). As anexample, and not a limitation, the data table 500 can include acollection of entity records (e.g., data records) with each recordincluding data fields such as entity field 502, a first logo imagefeature field 504 (e.g., Logo 1), a second logo image feature field 506(e.g., Logo 2), and additional logo image features fields 508 (e.g.,Logo n). As used herein, the term ‘logo’ can refer to any visualrepresentation of an entity including standard characters, an icon, alogo, a trademark, or other recognizable trade dress items. Other datafields such as indexes, comments, and other metadata may be included inthe data table 500. The data table 500 represents a use case when anentity is known (e.g., based on a rough location) and the imagerecognition process can be improved by including the logos associatedwith the entity into the image feature data. The first, second andadditional logo image feature fields 504, 506, 508 represent thedifferent iterations of logos or other brand identities that areassociated with an entity. The logo image feature fields 504, 506, 508may be created and administered as a central database which can bedistributed over a network, or the collection of logo image featurefields 504, 506, 508 may be created via a distributed network (e.g.,crowdsourcing) and assembled and disseminated as background operationswithin a server network. The data table 500 is exemplary only, and not alimitation. The data table 500 can be the result of a cross-tab querybased on related tables of entities and image feature information (e.g.,logos, products). The data table 500 may be indexed based on venue,location, entity and/or products. For example, a logo can be associatedwith (e.g., related to) one or more locations to facilitate searchingthe database for a logo based on a location. Other indexing schemes maybe used.

The logo image feature fields 504, 506, 508 provide a set of referenceobjects to be used in image recognition algorithms (e.g., SIFT, SURF,NFT). All or portions of the data table 500 can be provided to themobile device 100 for local image recognition (i.e., image recognitionperformed on the mobile device). The image recognition may be performedon the image feature library server 242, or other network resource. Thetype and number of logo image feature fields 504, 506, 508 are exemplaryonly and not a limitation as each entity may have different types andnumbers of logos or other brand identities.

In an embodiment, the data table 500 can include position informationthat is associated with the entity and/or logos. For example, a logorecord may include a link to a location data table containing positioninformation. The position information can represent an area of detectionthat a user is likely to be in to capture an image of a logo. The areaof detection can be used to refine the position estimate of the mobiledevice. The position information associated with multiple entitiesand/or logos may be used to further refine the position estimate (e.g.,the intersection of two or more areas of detection). The positioninformation can be stored in the image feature library server 242, andcan be established and/or refined through crowd sourcing as multipleusers perform image recognition on a particular logo and report theirposition information. The image feature library server 242 can beconfigured to receive the position information as a measurement 314 andmay be utilized to refine the position information associated with alogo.

Referring to FIG. 6A, an exemplary process 600 for building a referenceimage feature data table is shown. The process 600 is, however, anexample only and not limiting. The process 600 can be altered, e.g., byhaving elements added, removed, rearranged, combined, performedconcurrently, and/or having single elements split into multipleelements.

At stage 602, the image feature library server 242 can obtain a Point ofInterest (POI) list from the location services information 312. Themobile device 100 can provide information about a venue and the imagefeature library server 242 can be configured to query the locationservices information 312 to create the POI list. For example, a user ofthe mobile device 100 can enter (e.g., type, speak, select) the name ofa venue. A venue may also be inferred based on the location of themobile device 100. One or more points of interest (POI) can beassociated with a venue. A POI generally relates to a geographiclocation within the venue. For example, a venue can be a shoppingdistrict and a POI list can correspond to the names and locations of thebusiness entities in the shopping district. Other venue-POIrelationships can exist. A venue can be a theme park and a POI can be anattraction. A venue can be a golf course and a POI can be a tee orgreen. A venue can be a race car track and a POI can be a car on thetrack. The location services information 312 can include informationregarding one or more venue-POI relationships.

At stage 604, the image feature library server 242 can be configured toselect a relevant POI list. The complete extent of a venue-POIrelationship may encompass a large number of POIs for a single venue. Insome applications, only subsets of the POIs are relevant to the mobiledevice. For example, referring to FIG. 4, the relevant entities to themobile device 100 include the first entity 406 a and the second entity406 b. Relevant entities can be determined, for example, based on therough location area 404 of the mobile device 100. The image featurelibrary server 242 or the mobile device 100 can be the means forselecting relevant POIs based on the rough location. Other informationsuch as time of day, orientation of the mobile device, user profileinformation, user history information, social media data (entity and/oruser specific), and user input can be used to select a relevant POIlist.

At stage 606, the image feature library server 242 can be configured tobuild a reference image feature data table. Referring to FIG. 5, theimage features information 308 can be indexed based on a POI (e.g., theentity field 502). The feature data table can include a collection ofdata records, with each record including an index and other data fieldssuch as the entity field 502, the first logo image feature field 504,the second logo image feature field 506, and additional logo imagefeature fields 508. The reference image feature data table can includerecords for the POIs in the relevant POI list selected at stage 604. Thereference image feature data table can be used with image recognitionalgorithms executing on the image feature library server 242, or theimage feature data table can be sent to the mobile device 100.

Referring to FIG. 6B, an exemplary process 620 for recognizing astorefront is shown. The process 620 is, however, an example only andnot limiting. The process 620 can be altered, e.g., by having elementsadded, removed, rearranged, combined, performed concurrently, and/orhaving single elements split into multiple elements.

At stage 622, the mobile device can determine a rough location. Forexample, referring to FIG. 4, the mobile device 100 can obtain WiFimeasurements from access points within the venue 400. The WiFimeasurements can be transmitted across the network 230 b. The imagefeature library server 242 can include functions of a position serverand can be configured to receive the WiFi measurements and determine therough location area 404. The mobile device 100 may also be configured todetermine the rough location area 404. The first and second entities 406a, 406 b within the rough location area 404 are examples of relevantPOIs. The image feature library server 242 can be configured to buildand provide a reference image feature data table to the mobile device100.

At stage 624, the mobile device 100 is configured to capture a storefront image. For example, a series of video frames can be obtained via apanning sequence to view one or more storefronts and the correspondinglogos or branding information. In some instances no camera actuation(e.g., taking a picture etc. . . . ) may be needed or otherwise used toextract visual features. Features associated with one or morestorefronts may be extracted while panning, pointing, or otherwisemoving the mobile device 100.

At stage 626, the mobile device 100 is configured to recognize the logoor other trade information associated with the storefront. Therecognized logo may also assist the location refinement at stage 628.The image recognition algorithms can be executing locally (e.g., withthe feature extraction module 142), or remotely by resources on thenetwork 230 b. The reference image feature data table is used in theobject recognition process. The first, second and additional logo imagefeature fields 504, 506, 508 can be used to constrain the objectrecognition solution set. The limitations on the number of possiblesolutions can speed-up the image processing algorithms. The results ofthe image recognition can result in a recognized storefront and themobile device may then receive additional location services information312 based on the recognized storefront.

Referring to FIG. 7, an exemplary process 700 for refining a referenceimage feature data table is shown. The process 700 is, however, anexample only and not limiting. The process 700 can be altered, e.g., byhaving elements added, removed, rearranged, combined, performedconcurrently, and/or having single elements split into multipleelements.

At stage 702, the mobile device 100 and/or position server can determinea rough location of the mobile device. In an example, the rough locationcan be determined based on WiFi or other radio signals detected by themobile device 100. The rough location information can be provided to theimage feature library server 242 to select a relevant POI list at stage704. The relevant POI list can include a list of entities based on therough location information or other criteria that is associated with theuser and/or entities in a venue.

At stage 706, the number of POIs in the relevant POI list can becompared to a predetermined threshold. For example, the rough locationinformation may indicate a relatively large area and thereforeencompasses a larger number of POIs. The predetermined threshold valuecan vary based on application. In an example, the threshold can be basedon the number of POIs in the list (e.g., 5, 10, 25), or based on thesize of a corresponding reference image data table constructed using thePOI list (e.g., 0.5 MB, 2 MB, 5 MB). The threshold can be determinedbased on the image processing capabilities of the image feature libraryserver 242 and/or the mobile device 100. If the POI list is too large,then the intended efficiencies in image processing may be reduced. Thethreshold comparison at stage 706 provides a check to help ensure imageprocessing efficiencies can be maintained. If the POI list is greaterthan the threshold, the rough location can be refined at stage 710. Theposition refinement can be based on obtaining additional measurementsfrom the mobile device. The additional measurements can include usingRound Trip Time (RTT) data, reporting additional SSIDs, providing GNSSmeasurements, or measurements received from additional sensors (e.g.,inertial measurement unit, magnetometer, optical). The refined positioninformation can be used to select the relevant POI list at stage 704.

At stage 708, if the number of relevant POIs on the list is less than orequal to the threshold, the image feature library server 242 (or themobile device 100) can build a reference image feature data table. Forexample, a means for building a reference image feature data table canbe a select query executing on the image feature library server 242 oron the mobile device 100. Referring to FIG. 5, the image feature datatable can include records based on entities (e.g., an entity field 502).The image feature data table can be used in the image recognitionprocess to recognize a logo or brand identity images. In an embodiment,the initial results of the image recognition process can be confirmed byconcurrent or subsequent recognition of a neighboring logo or brandidentity image. The confidence of the recognition can be furtherincreased by recognizing a second logo for an entity. For example, aStarbucks® coffee store front may include specialized characters (e.g.,corresponding to a first logo image feature field 504) and an icon (e.g.corresponding to a second logo image feature field 506). The presenceand recognition of multiple logos can be used to confirm the recognitionresult.

Referring to FIG. 8, a relationship diagram 800 of an exemplary datastructure is shown. The objects in the relationship diagram 800 areexemplary only and not a limitation as other objects, data types,indexes and relationships may be used. The relationship diagram 800includes a venue data object 802, a location data object 806, an entitydata object 810, a product data object 814, and a location-logo dataobject 818. The venue data object 802 can be used to represent a venue(e.g., a shopping area) and includes a collection of location records(e.g., location 1, location 2, location 3, etc. . . . ). The locationrecords can include preset location coordinates which correspond to thelocations of network access points. The location information may alsoinclude the coverage area associated with network access points. Thelocation information may be based on an intersection of coverage areasof two or more access points. The location information can be used as inindex in a venue-location relationship link 804.

The location data object 806 can include a collection of entity records(e.g., entity 1, entity 2, entity 3, etc. . . . ). The entity recordscan correspond to a Point of Interest (POI). In an example, the entityrecords can indicate a business that is proximate to the linked location(i.e., when using the venue-location relationship link 804). Thelocation area can correspond to the rough location area 404 as depictedin FIG. 4, and the entities can be the first and second entities 406 a,406 b. The entity records can be indexed and can be used in alocation-entity relationship link 808.

The entity data object 810 can include a collection of logo and brandingimage features (e.g., Logo 1, Logo 2, Logo 3, etc. . . . ). For example,referring to FIG. 5, the entity data object 810 can be a data table 500of reference image features associated with an entity. The entityinformation may also be used in an entity-product relationship link 812.For example, the product data object 814 can include a collection ofobject records that are associated with an entity. The object recordsmay include information about the products sold by the entity. Theobject records can include reference image fields of products to be usedin image recognition. A collection of reference product images may beprovided as a product image feature data table. The object records mayinclude logos, product images, and branding image features forsub-brands that are associated with an image. For example, an entity maybe a Toyota® dealership and a sub-brand may be associated with make of acar on the lot (e.g., Prius®, Camry®, etc. . . . ). In operation, areference image feature data table for the sub-brands can be provided tothe mobile device to be used in object recognition of the sub-branditems. When a sub-brand item is recognized, the location serviceinformation 312 module can be configured to provide sub-brand specificinformation (e.g., a Prius® related Augmented Reality application). Theentity-product relationship link 812 is not limited to a single level asproducts can have sub-products, which can have sub-sub-products and soon. The relationship diagram 800 (i.e., data structure) providesrelevant reference image feature data tables based on previousrecognized results and the corresponding relationship links 804, 808,812.

The location-logo data object 818 can be a data table with a primary anda secondary index and include fine location records that are associatedwith various location and logo combinations. The primary and secondaryindexes can be based on the location information and the logoinformation respectively. A fine location record can represent an areafrom which a particular logo in a particular location can be viewedfrom. The relationships illustrated in FIG. 8 are exemplary only and nota limitation as other indexes, normalization schemes, and relationshipsmay be used. In operation, a location record may correspond to a roughlocation in a venue. For example, the location record may includeexpected coverage area of a WiFi access point (e.g., a 100 m range).Within this location, one or more logos that are associated with one ormore entities may be visible. A fine location record can include an areafrom which a particular logo in the location can be viewed from. Thefine location records can be indexed based the particular logo (i.e.,via a logo index link 816) and the location (i.e., via the locationindex link 820). A particular location and logo combination may havemore than one fine location records.

Referring to FIG. 9, an exemplary process 900 for displaying brandinformation is shown. The process 900 is, however, an example only andnot limiting. The process 900 can be altered, e.g., by having elementsadded, removed, rearranged, combined, performed concurrently, and/orhaving single elements split into multiple elements.

At stage 902, the mobile device can receive a request for brand-relatedinformation. In an example, a user can enter a gesture, or utilize otherinput mechanisms, to initiate the process 900. The request may be toexecute an application on the mobile device 100, or to active a commandobject within an application. Other triggers may also be used toinitiate a request for brand-related information.

At stage 904, the mobile device 100 can obtain an annotated mapcomprising physical characteristics and wireless signal parameterinformation. The annotated map may be stored locally in memory 140, ormay be obtained by sending a request to the image feature library server242, or another position server, and receiving the annotated map via thenetwork 230. The physical characteristics in the annotated map mayinclude information associated with the structures within the map (e.g.,wall, corridors, doors, windows, stairwells, etc. . . . ), and thewireless signal parameter information may include signal informationthat is associated with wireless transmitting devices 210 that arelocated within the area defined by the map. The signal information mayinclude signal strength, code phase, round-trip delay, transmitteridentification information (e.g., identification of one or moretransmitters such as SSID, WLAN MAC addresses associated withtransmitters at known locations, CDMA pn offsets), and transmittertiming information. Other parameters may also be used.

At stage 906, the mobile device may measure wireless signal parameters.The mobile device 100 may receive multiple wireless signals 123, 136being transmitted by multiple wireless transmitting devices 210, 220.The measured wireless signal parameters may include signal strength,code phase, round-trip delay, transmitter identification information(e.g., identification of one or more transmitters such as SSID, WLAN MACaddresses associated with transmitters at known locations, CDMA pnoffsets), and transmitter timing information. At stage 908, the mobiledevice 100 or the image feature library server 242 may determine a roughlocation of the mobile device 100 based at least in part on the measuredwireless signal parameters and the annotated map. Determining a roughlocation of the mobile device 100 based on received wireless signals maydepend on whether the mobile device 100 is within geographic receptionareas of wireless transmitters 210 transmitting the received wirelesssignals, and also where the mobile device 100 is positioned within suchgeographic reception areas. For example, a wireless signal as receivedat a mobile device 100 may become weaker as a range to an associatedwireless transmitter 210 increases. Signal strength of a receivedwireless signal may not necessarily be closely related to a range to awireless transmitter transmitting the received wireless signal, however.For example, other factors such as RF obstructions or interferences towireless signal transmission may diminish strength of a wireless signalat reception.

If a particular wireless signal identifiable as being transmitted by aparticular wireless transmitter 210 is received at a mobile device 100,the mobile device 100 may be assumed to be within a particular range ofthe particular wireless transmitter 210 and positioned within ageographic region. For example, if geographic transmission boundariescorresponding to a transmission range of wireless transmitter 210 areknown, then by having a mobile device 100 receive wireless signal fromwireless transmitter 210, the rough location mobile device 100 may beascertained as being within geographic transmission boundaries ofwireless transmitter 210.

In particular implementations, a mobile device 100 may obtain a roughposition from processing multiple wireless signals transmitted overmultiple respective wireless signal interfaces or links. The mobiledevice 100 may search in attempt to detect wireless signal parametersinformation transmitted in one or more of such multiple wirelesssignals. Such wireless signal parameter information transmitted inselected wireless signals associated with particular transmitters may bedetected or obtained by searching and processing the selected wirelesssignals. Such signal parameters may include, for example, signalstrength, code phase, round-trip delay, transmitter identificationinformation (e.g., identification of one or more transmitters such asWLAN MAC addresses associated with transmitters at known locations, CDMApn offsets), transmitter timing information. Transmitter timinginformation may include, for example, one or more error estimatesassociated with the timing of a signal transmitted by a transmitter, arelationship between a framing structure of a signal transmitted by atleast one transmitter and a standardized time source.

In this context, “search” or “searching” a wireless signal transmittedfrom a wireless transmitter may include any one or a combination ofsignal processing techniques for use in detecting or measuringparticular characteristics of and/or obtaining information transmittedin a received wireless signal (e.g., for the purpose of estimating aposition of a receiver). Such signal processing techniques may include,for example, digital sampling and filtering, analog filtering, coherentor incoherent integration, correlation, application of discrete Fouriertransforms, peak detection and related logic, data channel or packetprocessing, just to name few examples.

At stage 910, a mobile device 100 is configured to receive a referenceimage feature data table based on a rough location of the mobile device100. The reference image feature data table can include a collection ofentity records and the corresponding logo image feature fields. Themobile device 100 can include an algorithm stored in the memory 140configured to enable the processor 111 to provide location informationvia one or more wireless signals 123, 136 and the network 230 to theimage feature library server 242. The location information can be therough location of the mobile device determined at stage 908. The imagefeature library server 242 can be configured to receive the locationinformation as a request 330, and then determine a list of entitiesbased on the received location information. For example, theinstructions 306 can include an algorithm for searching a data structurefor entities based on the location information. The image featurelibrary server 242 is configured to determine a list of entities basedon the location information and determine the corresponding logoinformation that corresponds to the list of entities. For example, theimage feature library server 242 can include an algorithm to create adata table 500 including entities and their corresponding logos. Thedata table 500 is an example of a reference image feature data table andcan include a collection of entity records and their correspondinglogos. The data table 500 can be provided to the mobile device 100 viathe network 230 as one or more data files. In an embodiment, the datatable 500 can be provided in response to receiving a request 330 fromthe mobile device 100. The data table 500 can be provided to the mobiledevice 100 as an application (e.g., previously stored on the memory140), and configured for subsequent access by the processor 111. Thedata table 500 can be stored as the feature data table 143 for use withan image recognition algorithm.

At stage 912, the mobile device 100 can be configured to obtain an imageincluding a displayed logo. For example, the image capture module 130and the sensor 132 can be used to obtain an image of a store front.Referring to FIG. 4, the image can be of a first store front 408 a andcan include a logo or other trade dress information (i.e., the GAPlogo). The image can be stored in the memory 140 for processing with animage recognition algorithm.

At stage 914, the mobile device 100 can be configured to utilize animage recognition process and the reference feature data table on theimage to determine a recognized logo. The processor 111 or other DSP(s)112 may be configured to execute an image process algorithm including afeature extraction module 142. The features in the image of a firststore front 408 a can be compared to the logo images in the referenceimage feature data table 143. Features may be extracted using algorithmssuch as Scale-Invariant Feature Transform (SIFT), Speeded-UP RobustFeature (SURF), Nearest Feature Trajectory (NFT), etc. . . . . Thesealgorithms are exemplary only and not limiting as other algorithms suchas proprietary corner detection-type approaches may be used. The resultof the image recognition process can determine a recognized logo.

At stage 916, the mobile device 100 can be configured to display brandinformation based on the recognized logo. The brand information can beadditional information a user may want to know about an entity that isassociated with the recognized logo. For example, upon recognition ofthe logo, the mobile device 100 may activate the area of the display 134occupied by the image of the logo such that when the user touches, orotherwise activates the area, a web browser will open to a URLassociated with the entity. Other brand information may includetargeting marketing information, such as information regarding sales orother promotions associated with the entity. The brand information maybe an augmented reality application that is presented in combinationwith the logo image on the display 134. The augmented realityinformation may be an interactive kiosk application to enable the userto obtain more information about services and products that areassociated with the entity. The brand information can be locationservices such as a floor map of the retail location that is associatedwith the logo. Combinations of augmented reality applications andlocation services may be used, for example, to provide a user withstep-by-step directions to a specific area, department or point ofinterest within the retail location (e.g., hardware, shoes, housewares,rest rooms).

In an embodiment, the brand information includes product information.The mobile device 100 is configured to send a request 330 to the imagefeature library server 242. The request indicates the logo, or othertrade information, determined at stage 906. The image feature libraryserver 242 is configured to query one or more product data tables basedon the received request and create a product data object 814. Theproduct data object 814 can include product information such as price,inventory quantity, and shelf location. The product data object can be areference image feature data table to be used by the mobile device 100in the recognition of products (e.g., sub-brands) that are associatedwith the entity. For example, the user can obtain an image of a productwith the image capture module 130, and the feature extractor module 142can be used with the reference images in the product data object torecognize the product in the image.

Referring to FIG. 10, an exemplary process 1000 for providing areference image feature data table to a mobile device is shown. Theprocess 1000 is, however, an example only and not limiting. The process1000 can be altered, e.g., by having elements added, removed,rearranged, combined, performed concurrently, and/or having singleelements split into multiple elements.

At stage 1002, the image feature library server 242 obtains a roughlocation area of the mobile device 100. The rough location area can bebased on a SSID of an access point 210. For example, the mobile device110 can provide the SSID to the image feature library server 242 via thenetwork 230, and the image feature library server 242 can communicatewith a position server to determine the rough location area of themobile device 100. In and embodiment, the mobile device 100 or aposition server sends the rough location area to the image featurelibrary server 242 as part of a request 330. The rough location areaneed not be dependent on an SSID and can be computed by otherpositioning techniques.

At stage 1004, the image feature library server 242 can select arelevant point of interest list based on the rough location area of themobile device 100. The image feature library server 242 can use thereceived rough location area in a searching algorithm (e.g., a SQLSelect query) to select records from the rough position information 310information in the memory 304. The result of the search can be list ofpoints of interest that are within a distance of the rough location ofthe mobile device. For example, referring to FIG. 4, the points ofinterest list based on the rough location area 404 could includeNordstrom, Gap and Aldo.

At stage 1006, the image feature library server 242 can be configured torefine the rough location area of the mobile device if the relevantpoints of interest list is greater than a threshold. The size of therough location area may encompass many points of interest and thereforeresult in a large number of points of interest and a largercorresponding list of related reference image features. The size of thepossible resulting image feature data table (i.e., in terms of memoryand transmission bandwidth) may overload the capabilities of the mobiledevice 100 or the network 230. The image feature library server 242 isconfigured to compare the number of items on the points of interest listto a predetermined threshold and then refine the rough location area ifthe number of items is greater than the threshold. The threshold valuecan be an integer (e.g., 2, 3, 8, 12, 20, etc. . . . ) that is based onthe performance aspects of the mobile device 100 and the network 230.The threshold value may also be based on the size of a possiblereference image feature data table (e.g., 10 MB, 20 MB, 50 MB, etc. . .. ). That is, the image feature library server 242 can iteratively builda reference image feature data table based on the relevant points ofinterest list, and then compare the size of each resulting referenceimage feature data table to the threshold. The rough location area canbe refined by receiving additional position information from the mobiledevice (e.g., RSSI, RTT, GNSS information). The rough location area canbe refined by obtaining additional SSIDs (e.g., to determineintersecting coverage areas), or by using historical location data.Other statistical processes for refining the rough location area mayalso be used (e.g., routing heat maps, number of recognition results foran entity, time of day of request).

At stage 1008, the image feature library server 242 is configured tobuild a reference image feature data table if the relevant points ofinterest list is less than or equal to the threshold. Continuing theexample above, with further reference to FIGS. 4 and 5, if the thresholdvalue is 2 then the rough location area 404 could be refined to limitthe relevant point of interest list to only two entities (i.e., Gap andAldo). The corresponding reference image feature data table couldinclude indexes associated with the Gap and Aldo entities and theircorresponding logos. That is, the image feature data table could besimilar to the data table 500 but limited to only the two entities andthe reference image features corresponding to their logos and/or otherbrand identifiers. At stage 1010, the image feature library server 242is configured to provide the reference image feature data table to themobile device 100. For example, the reference image feature data tablecan be transmitted as a data package via the network 230 and thewireless signal 123. In an embodiment, the mobile device 100 can performthe functions of the image feature library server 242 described above.The process 1000 for providing a reference image feature data table to amobile device can be embodied as an application which is loaded onto themobile device. For example, a shopping mall may create a venue specificapplication that includes entity and logo data tables, as well asnetwork location information (e.g., access point locations). A user candownload the application onto their mobile device to be utilized whenthey visit the venue. The application can be updated as entity, logo, orposition information is changed.

Reference throughout this specification to “one example”, “an example”,“certain examples”, or “example implementation” means that a particularfeature, structure, or characteristic described in connection with thefeature and/or example may be included in at least one feature and/orexample of claimed subject matter. Thus, the appearance of the phrase“in one example”, “an example”, “in certain examples” or “in certainimplementations” or other like phrases in various places throughout thisspecification are not necessarily all referring to the same feature,example, and/or limitation. Furthermore, the particular features,structures, or characteristics may be combined in one or more examplesand/or features.

The terms, “and”, “or”, and “and/or” as used herein may include avariety of meanings that also are expected to depend at least in partupon the context in which such terms are used. Typically, “or” if usedto associate a list, such as A, B or C, is intended to mean A, B, and C,here used in the inclusive sense, as well as A, B or C, here used in theexclusive sense. In addition, the term “one or more” as used herein maybe used to describe any feature, structure, or characteristic in thesingular or may be used to describe a plurality or some othercombination of features, structures or characteristics. Though, itshould be noted that this is merely an illustrative example and claimedsubject matter is not limited to this example.

The methodologies described herein may be implemented by various meansdepending upon applications according to particular features and/orexamples. For example, such methodologies may be implemented inhardware, firmware, and/or combinations thereof, along with software. Ina hardware implementation, for example, a processing unit may beimplemented within one or more application specific integrated circuits(ASICs), digital signal processors (DSPs), digital signal processingdevices (DSPDs), programmable logic devices (PLDs), field programmablegate arrays (FPGAs), processors, controllers, micro-controllers,microprocessors, electronic devices, other devices units designed toperform the functions described herein, and/or combinations thereof.

In the preceding detailed description, numerous specific details havebeen set forth to provide a thorough understanding of claimed subjectmatter. However, it will be understood by those skilled in the art thatclaimed subject matter may be practiced without these specific details.In other instances, methods and apparatuses that would be known by oneof ordinary skill have not been described in detail so as not to obscureclaimed subject matter.

Some portions of the preceding detailed description have been presentedin terms of a computer program product containing algorithms or symbolicrepresentations of operations on binary digital electronic signalsstored within a memory of a specific apparatus or special purposecomputing device or platform. In the context of this particularspecification, the term specific apparatus or the like includes ageneral purpose computer once it is programmed with processor-executableinstructions to perform particular functions pursuant to instructionsfrom program software. Algorithmic descriptions or symbolicrepresentations are examples of techniques used by those of ordinaryskill in the signal processing or related arts to convey the substanceof their work to others skilled in the art. An algorithm is here, andgenerally, is considered to be a self-consistent sequence of operationsor similar signal processing leading to a desired result. In thiscontext, operations or processing involve physical manipulation ofphysical quantities. Typically, although not necessarily, suchquantities may take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared or otherwisemanipulated as electronic signals representing information. It hasproven convenient at times, principally for reasons of common usage, torefer to such signals as bits, data, values, elements, symbols,characters, terms, numbers, numerals, information, or the like. Itshould be understood, however, that all of these or similar terms are tobe associated with appropriate physical quantities and are merelyconvenient labels. Unless specifically stated otherwise, as apparentfrom the following discussion, it is appreciated that throughout thisspecification discussions utilizing terms such as “processing,”“computing,” “calculating,” “determining”, “establishing”, “analyzing”,“obtaining”, “identifying”, “associating”, “selecting”, and/or the likerefer to actions or processes of a specific apparatus, such as a specialpurpose computer or a similar special purpose electronic computingdevice. In the context of this specification, therefore, a specialpurpose computer or a similar special purpose electronic computingdevice is capable of manipulating or transforming signals, typicallyrepresented as physical electronic or magnetic quantities withinmemories, registers, or other information storage devices, transmissiondevices, or display devices of the special purpose computer or similarspecial purpose electronic computing device. In the context of thisparticular patent application, the term “specific apparatus” may includea general purpose computer once it is programmed to perform particularfunctions pursuant to instructions from program software.

In some circumstances, operation of a memory device, such as a change instate from a binary one to a binary zero or vice-versa, for example, maycomprise a transformation, such as a physical transformation. Withparticular types of memory devices, such a physical transformation maycomprise a physical transformation of an article to a different state orthing. For example, but without limitation, for some types of memorydevices, a change in state may involve an accumulation and storage ofcharge or a release of stored charge. Likewise, in other memory devices,a change of state may comprise a physical change or transformation inmagnetic orientation or a physical change or transformation in molecularstructure, such as from crystalline to amorphous or vice-versa. In stillother memory devices, a change in physical state may involve quantummechanical phenomena, such as, superposition, entanglement, or the like,which may involve quantum bits (qubits), for example. The foregoing isnot intended to be an exhaustive list of all examples in which a changein state for a binary one to a binary zero or vice-versa in a memorydevice may comprise a transformation, such as a physical transformation.Rather, the foregoing are intended as illustrative examples.

A computer-readable, or processor-executable computer, storage mediumcan be organized into one or more code segments and typically may benon-transitory or comprise a non-transitory device. In this context, anon-transitory storage medium may include a device that is tangible,meaning that the device has a concrete physical form, although thedevice may change its physical state. Thus, for example, non-transitoryrefers to a device remaining tangible despite this change in state. Ingeneral, a code segment is one or more computer-executable instructionsstored in a computer-readable storage medium, or other memory device.

While there has been illustrated and described what are presentlyconsidered to be example features, it will be understood by thoseskilled in the art that various other modifications may be made, andequivalents may be substituted, without departing from claimed subjectmatter. Additionally, many modifications may be made to adapt aparticular situation to the teachings of claimed subject matter withoutdeparting from the central concept described herein.

Therefore, it is intended that claimed subject matter not be limited tothe particular examples disclosed, but that such claimed subject mattermay also include all aspects falling within the scope of appendedclaims, and equivalents thereof.

What is claimed is:
 1. A method of providing reference image featuredata to a mobile device, comprising: obtaining a rough location area ofthe mobile device; selecting a relevant points of interest list based onthe rough location area of the mobile device; refining the roughlocation area of the mobile device if the relevant points of interestlist is greater than a threshold; building a reference image featuredata table if the relevant points of interest list is less than or equalto the threshold; and providing the reference image feature data tableto the mobile device.
 2. The method of claim 1 wherein the referenceimage feature data table includes at least one entity and a plurality oflogo image feature fields that are associated with the entity.
 3. Themethod of claim 2 wherein the reference image feature data tableincludes position information associated with each logo image feature.4. The method of claim 1 wherein refining the rough location areaincludes receiving a wireless signal information from the mobile device.5. The method of claim 4 wherein the wireless signal informationincludes Round Trip Time (RTT) data.
 6. An apparatus, comprising: amemory; at least one processor coupled to the memory and configured to:obtain a rough location area of a mobile device; select a relevantpoints of interest list based on the rough location area of the mobiledevice; refine the rough location area of the mobile device if therelevant points of interest list is greater than a threshold; build areference image feature data table if the relevant points of interestlist is less than or equal to the threshold; and provide the referenceimage feature data table to the mobile device.
 7. The apparatus of claim6 wherein the reference image feature data table includes at least oneentity and a plurality of logo image features that are associated withthe entity.
 8. The apparatus of claim 7 wherein the reference imagefeature data table includes position information associated with eachlogo image feature.
 9. The apparatus of claim 6 wherein the at least oneprocessor is further configured to receive a wireless signal informationfrom the mobile device.
 10. The apparatus of claim 9 wherein thewireless signal information includes Round Trip Time (RTT) data.
 11. Anapparatus for providing reference image feature data to a mobile device,comprising: means for obtaining a rough location area of the mobiledevice; means for selecting a relevant points of interest list based onthe rough location area of the mobile device; means for refining therough location area of the mobile device if the relevant points ofinterest list is greater than a threshold; means for building areference image feature data table if the relevant points of interestlist is less than or equal to the threshold; and means for providing thereference image feature data table to the mobile device.
 12. Theapparatus of claim 11 wherein the reference image feature data tableincludes at least one entity and a plurality of logo image features thatare associated with the entity.
 13. The apparatus of claim 12 whereinthe reference image feature data table includes position informationassociated with each logo image feature.
 14. The apparatus of claim 11wherein the means for refining the rough location area includes meansfor receiving a wireless signal information from the mobile device. 15.The apparatus of claim 14 wherein the wireless signal informationincludes Round Trip Time (RTT) data.